package org.example.demoarticle.filter;

import ch.qos.logback.core.util.StringUtil;
import com.alibaba.fastjson.JSONObject;
import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.example.demoarticle.pojo.ResultByLogin;
import org.example.demoarticle.util.jwtUtil;
import org.springframework.util.StringUtils;

import java.io.IOException;

//@Slf4j
//@WebFilter("/*")
//public class LoginCheckFilter implements Filter {
//    @Override
//    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
//        HttpServletRequest req=(HttpServletRequest) request;
//        HttpServletResponse res= (HttpServletResponse) response;
//
//        String url=req.getRequestURL().toString();
//        log.info("请求的URL：",url);
//
//        if(url.contains("login")) {
//            log.info("登陆操作 放行");
//            chain.doFilter(request,response);
//            return;
//        }
//
//        String jwt=req.getHeader("token");
//        if(!StringUtils.hasLength(jwt)) {
//            log.info("请求头为空 返回未登录错误信息");
//            Result ret=Result.error("未登录!!");
//            String notLogin= JSONObject.toJSONString(ret);
//            res.getWriter().write(notLogin);
//            return;
//        }
//
//        try {
//            jwtUtil.parseJwt(jwt);
//        }catch (Exception e){
//            e.printStackTrace();
//            log.info("解析令牌失败");
//            Result ret=Result.error("未登录!!");
//            String notLogin= JSONObject.toJSONString(ret);
//            res.getWriter().write(notLogin);
//            return;
//        }
//
//        log.info("放行");
//        chain.doFilter(request,response);
//    }
//}
